home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
COMAL
/
Z-Misc Series
/
(k)zb.d64
/
1520'driver.proc
< prev
next >
Wrap
Text File
|
2007-03-01
|
3KB
|
167 lines
9000 //SAVE "1520DRIVER0.14
9002 // BY KEVIN QUIGGLE
9004 //
9006 PROC P'OPEN(SA) CLOSED
9008 OPEN FILE 66,"",UNIT 6,SA,WRITE
9010 ENDPROC P'OPEN
9012 //
9014 PROC P'CLOSE CLOSED
9016 CLOSE FILE 66
9018 ENDPROC P'CLOSE
9020 //
9022 PROC P'CHAR(C$)
9024 P'OPEN(6)
9026 PRINT FILE 66: 1,
9028 P'CLOSE
9030 P'OPEN(0)
9032 IF C$<>"" THEN
9034 PRINT FILE 66: C$,
9036 ELSE
9038 PRINT FILE 66:
9040 ENDIF
9042 P'CLOSE
9044 ENDPROC P'CHAR
9046 //
9048 PROC P'HOME
9050 P'OPEN(1)
9052 PRINT FILE 66: "H",
9054 P'CLOSE
9056 ENDPROC P'HOME
9058 //
9060 PROC P'INIT
9062 P'OPEN(1)
9064 PRINT FILE 66: "I",
9066 P'CLOSE
9068 ENDPROC P'INIT
9070 //
9072 PROC P'MOVETO(X,Y)
9074 P'OPEN(1)
9076 COMMAND("M",X,Y)
9078 PRINT FILE 66: C$,
9080 P'CLOSE
9082 ENDPROC P'MOVETO
9084 //
9086 PROC P'DRAWTO(X,Y)
9088 P'OPEN(1)
9090 COMMAND("D",X,Y)
9092 PRINT FILE 66: C$,
9094 P'CLOSE
9096 ENDPROC P'DRAWTO
9098 //
9100 PROC P'MOVE(X,Y)
9102 P'OPEN(1)
9104 COMMAND("R",X,Y)
9106 PRINT FILE 66: C$,
9108 P'CLOSE
9110 ENDPROC P'MOVE
9112 //
9114 PROC P'DRAW(X,Y)
9116 P'OPEN(1)
9118 COMMAND("J",X,Y)
9120 PRINT FILE 66: C$,
9122 P'CLOSE
9124 ENDPROC P'DRAW
9126 //
9128 PROC P'RESET
9130 P'OPEN(7)
9132 PRINT FILE 66:
9134 P'CLOSE
9136 ENDPROC P'RESET
9138 //
9140 PROC P'COLOR(COLOR)
9142 P'OPEN(2)
9144 CONVERT(2,T$,COLOR)
9146 PRINT FILE 66: T$,
9148 P'CLOSE
9150 ENDPROC P'COLOR
9152 //
9154 PROC P'CHARSIZE(SIZ)
9156 P'OPEN(3)
9158 CONVERT(2,T$,SIZ)
9160 PRINT FILE 66: T$,
9162 P'CLOSE
9164 ENDPROC P'CHARSIZE
9166 //
9168 PROC P'ROTCHAR(ROT)
9170 P'OPEN(4)
9172 CONVERT(2,T$,ROT)
9174 PRINT FILE 66: T$,
9176 P'CLOSE
9178 ENDPROC P'ROTCHAR
9180 //
9182 PROC P'SCRIBE(BRK)
9184 P'OPEN(5)
9186 CONVERT(2,T$,BRK)
9188 PRINT FILE 66: T$,
9190 P'CLOSE
9192 ENDPROC P'SCRIBE
9194 //
9196 PROC CONVERT(AN,REF ALPH$,REF NUMB) CLOSED
9198 Z:=ZONE
9200 ZONE 0
9202 DIM OLD$ OF 12
9204 ROW:=PEEK(214); COL:=PEEK(211)
9206 PC:=PEEK(646) //CURRENT PENCOLOR
9208 BC:=PEEK(53281)-240
9210 PENCOLOR BC
9212 PRINT CHR$(19),
9214 OPEN FILE 126,"",UNIT 3,READ
9216 INPUT FILE 126: OLD$
9218 CLOSE FILE 126
9220 PRINT " ",
9222 CASE AN OF
9224 WHEN 1
9226 IF ALPH$="" THEN
9228 ALPH$:="NV"
9230 ELSE
9232 PRINT ALPH$,
9234 ENDIF
9236 WHEN 2
9238 PRINT NUMB,
9240 WHEN 3
9242 IF NUMB>=0 AND NUMB<=255 THEN
9244 PRINT CHR$(NUMB),
9246 ELSE
9248 ALPH$:="NV"
9250 ENDIF
9252 OTHERWISE
9254 ALPH$:="NV"
9256 ENDCASE
9258 IF ALPH$<>"NV" THEN
9260 PULL'SCREEN(AN,ALPH$,NUMB)
9262 ENDIF
9264 PENCOLOR PC
9266 PRINT "",OLD$
9268 POKE 214,ROW
9270 POKE 209,(1024+ROW*40) MOD 256
9272 POKE 210,(1024+ROW*40) DIV 256
9274 POKE 211,COL
9276 ZONE Z
9278 ENDPROC CONVERT
9280 //
9282 PROC PULL'SCREEN(AN,REF ALPHA$,REF NUMBER) CLOSED
9284 PRINT CHR$(19),
9286 OPEN FILE 93,"",UNIT 3,READ
9288 CASE AN OF
9290 WHEN 1
9292 INPUT FILE 93: NUMBER
9294 WHEN 2,3
9296 INPUT FILE 93: ALPHA$
9298 ENDCASE
9300 CLOSE FILE 93
9302 ENDPROC PULL'SCREEN
9304 //
9306 PROC COMMAND(CH$,X,Y)
9308 C$:=CH$+" "
9310 CONVERT(2,T$,X)
9311 IF " " IN T$ THEN T$:=T$(1:" " IN T$)
9312 C$:=C$+T$+" "
9314 CONVERT(2,T$,Y)
9315 IF T$(1)<>"0" THEN
9316 C$:=C$+T$
9317 ELSE
9318 C$:=C$+T$(2:LEN(T$))
9319 ENDIF
9320 ENDPROC COMMAND
9321 //